package modle

import (
	"github.com/jinzhu/gorm"
	"time"
)

type Status int

const (
	NO   Status = iota // 不使用
	S1_1 Status = 101  // 1阶段 原稿
	S1_2 Status = 102  // 1阶段 一校
	S1_3 Status = 103  // 1阶段 二校
	S1_4 Status = 104  // 1阶段 三校
	S1_5 Status = 105  // 1阶段 核红
	S1_6 Status = 106  // 1阶段 最终
	S1_7 Status = 107  // 1阶段 出书

	S2_1 Status = 201 // 2阶段 已开发排单
	S2_2 Status = 202 // 2阶段 平台已有信息
	S2_3 Status = 203 // 2阶段 已填报

	S3_1 Status = 301 // 3阶段 已汇总
	S3_2 Status = 302 // 3阶段 已开销货清单
	S3_3 Status = 303 // 3阶段 已结账

	S4_1 Status = 401 // 4阶段 完成
)

type BookStatus struct {
	gorm.Model
	BookID     uint
	UserID     uint
	User       User  `gorm:"foreignkey:UserID"`
	Stage      Stage // 阶段 1=排版 2=填报 3=结账
	Status     Status
	StartTime  *time.Time
	FinishTime *time.Time
}

func (b *BookStatus) TableName() string {
	return "book_status"
}
